16 - Data Visualization

:::

Create a point plot with a square shape using the data in the following table.

Year 1804 1927 1960 1974 1987 1999 2012 2027 2046
Population (billions) 1 2 3 4 5 6 7 8 9
library(ggvis)
library(tibble)
year <-  c(1804,1927,1960,1974,1987,1999,2012,2027,2046)
pop <-  (1:9)
df <-  tibble(year,pop)
df %>% 
  ggvis(~year, ~pop) %>% 
  layer_points(fill:="green",shape:="square" ) %>%
  add_axis('x', title = 'Year', format='####', subdivide=3, values = seq(1800, 2050, by = 50)) %>%
  add_axis('y',title='Population')

The global average cost of solar panels dropped from $9.70 per watt in 1980 to $3.03 per watt in 2005, and further dropped to 75 cents per watt in 2015. Create a line plot.

library(ggvis)
library(tibble)
year <-  c(1980,2005,2015)
price <-  c(9.7,3.03,.75)
df <-  tibble(year,price)
df %>% ggvis(~year, ~price) %>% 
  layer_lines(stroke:= 'green') %>% 
  add_axis('x', title = 'Year', format='####', subdivide=1, values = seq(1970, 2020, by = 10)) %>%
  add_axis('y',title='$ per watt')

Create a bar chart using the data in the following table.

Year 1804 1927 1960 1974 1987 1999 2012 2027 2046
Population (billions) 1 2 3 4 5 6 7 8 9
library(ggvis)
library(tibble)
year <-  c(1804,1927,1960,1974,1987,1999,2012,2027,2046)
pop <-  (1:9)
df <-  tibble(year,pop)
df %>% 
  ggvis( ~year, ~pop) %>% 
  layer_bars(fill:='salmon') %>%
  add_axis('x', title = 'Year',  format='####', subdivide=1, values = seq(1800, 2050, by = 50)) %>%
  add_axis('y',title='Population')

National GDP and fertility data have been extracted from a web site and saved as a CSV file.
Compute the correlation between GDP and fertility.
Do a scatterplot of GDP versus fertility with a smoother.
Log transform both GDP and fertility and repeat the scatterplot with a smoother.

# GDP & fertility
library(ggvis)
# source http://www.indexmundi.com/g/correlation.aspx?v1=67&v2=31&y=2004
d <- read.table('http://people.terry.uga.edu/rwatson/data/gdp&fertility.csv',header=T,sep=',')
cor.test(d$GDP,d$Fertility)
d %>% 
  ggvis(~GDP, ~Fertility) %>% 
  layer_points(fill:='tomato') %>%
  layer_smooths(stroke:='darkblue')
 d %>% ggvis(~GDP, ~Fertility) %>% 
   mutate(GDP = log(GDP)) %>%
   mutate(Fertility = log(Fertility)) %>% 
   layer_points(fill:='tomato') %>%
   layer_smooths(stroke:='darkblue') %>% 
   add_axis('x',title='Log GDP') %>% 
   add_axis('y',title='Log Fertility', title_offset=40)